if SERVER then
	registerCommand("rocket", "Launches the player you specify into the air and makes them explode", function(param)
		local rocketMsg = "caller rocketed target"
		if param["settings"]["rocket_msg"] then
			rocketMsg = param["settings"]["rocket_msg"]
		end
		local rocketTable = {}
		rocketTable["caller"] = getCaller(param[1])
		local targs = string.Explode(" ", param[3])
		for i, targ in pairs(targs) do
			local plyTarg = getPlayerByName(targ)
			print(param[3])
			if plyTarg then
				rocketTable["target"] = plyTarg:GetName()
				display(param[1], "rocket", { plyTarg } , parseDisplayMessage(rocketMsg, rocketTable))
				plyTarg:SetMoveType(MOVETYPE_WALK)
				plyTarg:SetVelocity(Vector(0, 0, 2000))
				plyTarg:ViewPunch(Angle(-50, 0, 0))
				plyTarg:EmitSound("Missile.Ignite")
				timer.Create("rocket_" .. plyTarg:GetName(), 3, 1, moocow_doexplode, plyTarg, moocow_dotrail(plyTarg))
			end
		end
	end)
	
	function moocow_dotrail(ply)
		local trail = ents.Create("env_fire_trail")
		trail:SetPos(ply:GetPos())
		trail:SetParent(ply)
		trail:Spawn()
		trail:Activate()
		return trail
	end
	
	function moocow_doexplode(target, trail)
		local eff = EffectData()
		eff:SetOrigin(target:GetPos())
		eff:SetStart(target:GetPos())
		eff:SetMagnitude(512)
		eff:SetScale(128)
		util.Effect("Explosion", eff)
		target:StopSound("Missile.Ignite")
		trail:Remove()
		target:Kill()
	end
end